﻿using Cinemachine;
using Level;
using Level.Decorations;
using System.Collections.Generic;
using UnityEngine;

namespace Data
{
    public class GameSceneData
    {
        public int CurrentLevel { get; set; } = 1;
        public int FieldSideSize { get; set; }
        public int FloorElementSize { get; set; }
        public int FieldSideSizeIncrement { get; set; }
        public int ObstaclesQuantityDivideFactor { get; set; }
        public float CameraSize { get; set; }
        public float CameraSizeIncrement { get; set; }
        public float FloorElementPositionOffset => (float)FloorElementSize / 2;
        public float LevelGenerationTime { get; set; }
        public float CreateAnimationTime { get; set; }
        public float ObstacleTargetScale { get; set; }
        public List<FloorElement> FloorElements { get; set; } = new();
        public List<Obstacle> Obstacles { get; set; } = new();
        public List<GameObject> LootPieces { get; } = new();
        public List<GameObject> Bullets { get; } = new();
        public Vector3 HeroSpawnPoint { get; set; } = Vector3.zero;
        public GameObject Hero { get; set; }
        public GameObject Hud { get; set; }
        public GameObject Exit { get; set; }
        public CinemachineVirtualCamera VirtualCamera { get; set; }
    }
}